Skip to content

chore: Flyway 기반 DB 문서 자동 공유 구성#46

Merged
hywznn merged 6 commits into
mainfrom
agent/45-db-schema-docs
Jul 24, 2026
Merged

chore: Flyway 기반 DB 문서 자동 공유 구성#46
hywznn merged 6 commits into
mainfrom
agent/45-db-schema-docs

Conversation

@hywznn

@hywznn hywznn commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Refs #45

왜 필요한가요?

Flyway SQL이 DB 구조의 기준이지만 Client·AI·Knowledge·기획 팀원이 테이블과 관계를 확인하려면 SQL과 수동 ERD를 따로 봐야 했습니다. main의 Migration을 실제 빈 PostgreSQL에 적용한 결과에서 DB용 Swagger 형태의 정적 문서를 자동 생성합니다.

무엇이 바뀌나요?

  • Flyway 12.4.0으로 일회용 PostgreSQL에 Migration을 적용하고 validate합니다.
  • SchemaSpy 7.0.2로 전체 ERD·테이블·컬럼·제약조건·Index HTML을 생성합니다.
  • Flyway info JSON을 안전한 Migration 이력 페이지와 build metadata로 변환합니다.
  • PR에서는 database-docs-site Artifact를 14일간 제공합니다.
  • main에서는 Pages가 성공한 build만 https://fowoco.github.io/server/에 배포합니다.
  • 로컬은 ./scripts/db-docs/generate-local.sh 한 명령으로 임시 network·PostgreSQL을 만들고 정확한 임시 자원만 정리합니다.
  • README와 docs/database-documentation.md에 초보자용 사용법을 추가합니다.

안전 기준

  • 운영·Staging DB 접속을 지원하지 않습니다.
  • 전용 DB 이름·사용자와 DB_DOCS_EPHEMERAL=true가 없으면 실행을 거부합니다.
  • 실제 데이터·Demo Seed·Secret·PAT를 사용하거나 산출물에 넣지 않습니다.
  • 모든 GitHub Action은 full-length commit SHA로 고정했습니다.
  • Migration 적용 또는 checksum 검증 실패 시 Pages를 배포하지 않습니다.

검증

  • node --test scripts/db-docs/generate-site.test.mjs
  • bash -n scripts/db-docs/generate.sh scripts/db-docs/generate-local.sh
  • actionlint .github/workflows/ci.yml .github/workflows/database-docs.yml
  • ./gradlew clean test
  • git diff --check

로컬 환경에는 Docker가 없어 실제 Flyway·SchemaSpy container 통합은 이 PR의 PostgreSQL GitHub Actions에서 확인합니다. PR 병합 후 Pages 배포와 Wiki 링크를 검증한 다음 #45를 완료 처리합니다.

@hywznn hywznn added area:infra Server Dockerfile·DB 설정·CI hook·배포 가능성 영역; 통합 인프라 운영은 infra 저장소와 조율 type:tooling 테스트·검증·CI·개발 편의 도구 작업 labels Jul 24, 2026
@hywznn
hywznn requested a review from chaeliki July 24, 2026 04:39
Comment thread .github/workflows/database-docs.yml
Comment thread docs/database-documentation.md
Comment thread README.md
@hywznn
hywznn marked this pull request as ready for review July 24, 2026 04:43
@hywznn
hywznn requested a review from krestar July 24, 2026 04:44

@krestar krestar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

지금은 머지안되서 링크 안들어가지는데, 구현된다면 확실히 보기 편할 것 같네요

@hywznn
hywznn merged commit 07e4ca4 into main Jul 24, 2026
3 checks passed
@hywznn
hywznn deleted the agent/45-db-schema-docs branch July 24, 2026 04:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:infra Server Dockerfile·DB 설정·CI hook·배포 가능성 영역; 통합 인프라 운영은 infra 저장소와 조율 type:tooling 테스트·검증·CI·개발 편의 도구 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants